package com.bl.andr.utillib;

import android.text.TextUtils;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

/**
 * android 中 json 解析
 */
public class JsonUtil {
    private static final String TAG = "JsonUtil==>>";

    public static boolean isJOFormat(String jsonStr) {
        return !TextUtils.isEmpty(jsonStr) && jsonStr.trim().startsWith("{") && jsonStr.trim().endsWith("}");
    }

    public static boolean isJAFormat(String jsonStr) {
        return !TextUtils.isEmpty(jsonStr) && jsonStr.trim().startsWith("[") && jsonStr.trim().endsWith("]");
    }


    public static JSONObject parseJO(String jsonStr) {
        try {
            if (isJOFormat(jsonStr))
                return new JSONObject(jsonStr);
        } catch (JSONException e) {
            e.printStackTrace();
        }

        return null;
    }


    public static JSONArray parseJA(String jsonStr) {
        try {
            if (isJAFormat(jsonStr))
                return new JSONArray(jsonStr);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 只能返回参数是String的List
     *
     * @param jsonArray
     * @return
     */
    public static List<String> parseJsonArrayToList(JSONArray jsonArray) {
        List<String> list = new ArrayList<>();
        if (jsonArray != null && jsonArray.length() > 0) {
            for (int i = 0; i < jsonArray.length(); i++) {
                list.add(jsonArray.optString(i));
            }
        }
        return list;
    }

}
